package com.daxue.design.strategy;

/**
 * @author daxue0929
 * @date 2023/2/11
 *
 * 策略模式的注意实现和细节
 *  1）策略模式的关键是 ：分析项目中变化部分与不变部分
 *  2）策略模式的核心思想是 ：多用组合/聚合，少用继承；用行为类组合，而不是行为的继承。更有弹性。
 *  3）体现了“开闭原则”。客户端增加行为不用修改原有代码，
 *     只要添加一种策略（或者行为）即可，避免了使用多重转移语句（if…else if … else)；
 *  4）提供了可以替换继承关心的办法 ：策略模式将算法封装在独立的Strategy类中使得你可以独立于其Context改变它，
 *     使它易于切换、易于理解、易于扩展。
 *  5）需要注意的是 ：每添加一个策略就要增加一个类，当策略过多是会导致类数目庞大。
 *
 *
 *  https://www.jb51.net/article/261957.htm
 */


/**
 *  策略接口
 */
public interface Strategy {

    //顶层策略接口
    void strategy();
}
